<html>
<head>
<title>unit tests coverage</title>
<link rel ="stylesheet" type="text/css" href="../../../../../../style.css" title="Style">
</head>
<body>
<span class="title">Coverage report</span>
<p>
  <table cellspacing="0" cellpadding="0" class="report">
  <tr class="report">
    <th class="report">&nbsp;</th>
    <th class="report">%line</th>
    <th class="report">%branch</th>
  </tr>
  <tr class="report">
    <td class="reportText"><span class="text">org.apache.torque.engine.database.model.NameFactory</span></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">90%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="90"></td><td class="percentUnCovered" width="10.0"></td></tr></table></td></tr></table></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">100%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="100"></td><td class="percentUnCovered" width="0.0"></td></tr></table></td></tr></table></td>
  </tr>
  </table>
  <p>
  <table cellspacing="0" cellpadding="0" class="src">
    <tr>
      <td class="numLine">&nbsp;1</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.apache.torque.engine.database.model;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;2</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;3</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;4</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;5</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;6</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * distributed with this work for additional information</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;7</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;8</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;9</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "License"); you may not use this file except in compliance</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;10</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;11</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;12</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;13</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;14</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;15</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * software distributed under the License is distributed on an</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;16</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;17</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * KIND, either express or implied.  See the License for the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;18</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * specific language governing permissions and limitations</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;19</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * under the License.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;20</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;21</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;22</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Hashtable;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;23</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;24</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;25</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.EngineException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;26</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;27</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;28</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * A name generation factory.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;29</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;30</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:dlr@finemaltcoding.com&#62;Daniel Rall&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;31</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @version $Id: NameFactory.java 473814 2006-11-11 22:30:30Z tv $</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;32</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;33</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> NameFactory</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;34</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;{</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;35</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;36</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The fully qualified class name of the Java name generator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;37</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;38</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String JAVA_GENERATOR =</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;39</td>
      <td class="nbHitsCovered">&nbsp;216</td>
      <td class="src"><pre class="src">&nbsp;        JavaNameGenerator.<span class="keyword">class</span>.getName();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;40</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;41</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;42</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The fully qualified class name of the constraint name generator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;43</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;44</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> String CONSTRAINT_GENERATOR =</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;45</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        ConstraintNameGenerator.<span class="keyword">class</span>.getName();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;46</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;47</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;48</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The single instance of this class.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;49</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;50</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">static</span> NameFactory instance = <span class="keyword">new</span> NameFactory();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;51</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;52</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;53</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * The cache of &#60;code&#62;NameGenerator&#60;/code&#62; algorithms in use for</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;54</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * name generation, keyed by fully qualified class name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;55</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;56</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> Hashtable algorithms;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;57</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;58</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;59</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Creates a new instance with storage for algorithm implementations.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;60</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;61</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> NameFactory()</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;62</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;63</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;        algorithms = <span class="keyword">new</span> Hashtable(5);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;64</td>
      <td class="nbHitsCovered">&nbsp;108</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;65</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;66</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;67</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Factory method which retrieves an instance of the named generator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;68</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;69</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param name The fully qualified class name of the name</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;70</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *        generation algorithm to retrieve.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;71</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return A name generator</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;72</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;73</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> NameGenerator getAlgorithm(String name)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;74</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            throws EngineException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;75</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;76</td>
      <td class="nbHitsCovered">&nbsp;24684</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">synchronized</span> (algorithms)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;77</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;78</td>
      <td class="nbHitsCovered">&nbsp;24684</td>
      <td class="src"><pre class="src">&nbsp;            NameGenerator algorithm = (NameGenerator) algorithms.get(name);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;79</td>
      <td class="nbHitsCovered">&nbsp;24684</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (algorithm == <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;80</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;81</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;82</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;83</td>
      <td class="nbHitsCovered">&nbsp;144</td>
      <td class="src"><pre class="src">&nbsp;                    algorithm =</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;84</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        (NameGenerator) Class.forName(name).newInstance();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;85</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;86</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">catch</span> (InstantiationException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;87</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;88</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">throw</span> <span class="keyword">new</span> EngineException(<span class="string">"Unable to instantiate class "</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;89</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            + name + <span class="string">": Make sure it's in your run-time classpath"</span>, e);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;90</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;91</td>
      <td class="nbHitsCovered">&nbsp;12</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">catch</span> (Exception e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;92</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;93</td>
      <td class="nbHitsCovered">&nbsp;12</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">throw</span> <span class="keyword">new</span> EngineException(e);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;94</td>
      <td class="nbHitsCovered">&nbsp;132</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;95</td>
      <td class="nbHitsCovered">&nbsp;132</td>
      <td class="src"><pre class="src">&nbsp;                algorithms.put(name, algorithm);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;96</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;97</td>
      <td class="nbHitsCovered">&nbsp;24672</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">return</span> algorithm;</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;98</td>
      <td class="nbHitsCovered">&nbsp;12</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;99</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;100</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;101</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;102</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Given a list of &#60;code&#62;String&#60;/code&#62; objects, implements an</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;103</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * algorithm which produces a name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;104</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;105</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param algorithmName The fully qualified class name of the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;106</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * {@link org.apache.torque.engine.database.model.NameGenerator}</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;107</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * implementation to use to generate names.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;108</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param inputs Inputs used to generate a name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;109</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return The generated name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;110</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws EngineException an exception</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;111</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;112</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> String generateName(String algorithmName, List inputs)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;113</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        throws EngineException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;114</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;115</td>
      <td class="nbHitsCovered">&nbsp;24684</td>
      <td class="src"><pre class="src">&nbsp;        NameGenerator algorithm = instance.getAlgorithm(algorithmName);</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;116</td>
      <td class="nbHitsCovered">&nbsp;24672</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> algorithm.generateName(inputs);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;117</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;118</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;}</pre></td>
    </tr>
  </table>
<p><table cellpadding="0" cellspacing="0" class="report">  <tr class="report">    <td class="reportText"><span class="text">    This report is generated by <a href="http://www.jcoverage.com">jcoverage</a>, <a href="http://maven.apache.org">Maven</a> and <a href="http://maven.apache.org/reference/plugins/jcoverage/">Maven JCoverage Plugin</a>.    </span></td>  </tr></table>
</body>
</html>
